package jianzhi

func myPow(x float64, n int) float64 {
	if n == 0 {
		return 1
	}
	if n == 1 {
		return x
	}
	if n < 0 {
		x = 1 / x
		n = -n
	}
	ret := 1.0
	for n >= 1 {

		// 最后一位是1，res = res * x
		if n&1 == 1 {
			ret *= x
			n--
		} else { // 否则 x**2
			x *= x
			n = n >> 1
		}
	}
	return ret

}
